package com.upf1sh.bean;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;

/**
 * @Description:
 * @Title: ChickenFarmInfo
 * @Package com.upf1sh.config
 * @Author: ZhaoXu
 * @CreateTime: 2025/2/19 21:49
 */
@Getter
@Setter
@TableName(value ="chicken_farm_info")
@ExcelIgnoreUnannotated
public class ChickenFarmInfo implements Serializable {

    /** 序号 */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 场区养鸡规模：1 - 1999 散户 = 1；2000 - 9999 小型 = 2；1 万 - 49999 中型 = 3；5 万以上大型 = 4 */
    @ExcelProperty( "场区养鸡规模：1 - 1999 散户 = 1；2000 - 9999 小型 = 2；1 万 - 49999 中型 = 3；5 万以上大型 = 4")
    private String chickenScale;

    /** 饲养品种：京粉 = 1；京红 = 2；海蓝 = 3；金凤 = 4；混合 = 5；罗曼 = 6 */
    @ExcelProperty( "饲养品种：京粉 = 1；京红 = 2；海蓝 = 3；金凤 = 4；混合 = 5；罗曼 = 6")
    private String breedType;

    /** 是否进行禽流感疫苗免疫：0 = yes,1 = no */
    @ExcelProperty( "是否进行禽流感疫苗免疫：0 = yes,1 = no")
    private String avianVaccination;

    /** 禽流感疫苗免疫阶段：产蛋期 = 1；育雏 + 育成 = 2；育成 + 产蛋 = 3；都有 = 4 */
    @ExcelProperty( "禽流感疫苗免疫阶段：产蛋期 = 1；育雏 + 育成 = 2；育成 + 产蛋 = 3；都有 = 4")
    private String vaccinationStage;

    /** 禽流感疫苗免疫次数 */
    @ExcelProperty( "禽流感疫苗免疫次数")
    private String vaccinationTimes;

    /** 疫苗接种方式：免疫队 = 1，请人打 = 2，自己打 = 3 */
    @ExcelProperty( "疫苗接种方式：免疫队 = 1，请人打 = 2，自己打 = 3")
    private String vaccinationMethod;

    /** 免疫的毒株类型：H5 + 7 + 9 = 1；5 + 7 + 10 = 2；5 + 7 + 11 = 3；5 + 7 + 12 = 4;5 + 7 + 13 = 5；5 + 7 = 6 */
    @ExcelProperty( "免疫的毒株类型：H5 + 7 + 9 = 1；5 + 7 + 10 = 2；5 + 7 + 11 = 3；5 + 7 + 12 = 4;5 + 7 + 13 = 5；5 + 7 = 6")
    private String virusStrain;

    /** 人员进场前是否消毒：是 = 0，否 = 1 */
    @ExcelProperty( "人员进场前是否消毒：是 = 0，否 = 1")
    private String staffEntryDisinfection;

    /** 人员进鸡舍前是否消毒：是 = 0；否 = 1 */
    @ExcelProperty( "人员进鸡舍前是否消毒：是 = 0；否 = 1")
    private String staffEnterCoopDisinfection;

    /** 每个鸡舍饲养人员数量 */
    @ExcelProperty( "每个鸡舍饲养人员数量")
    private String coopStaffNumber;

    /** 是否带鸡消毒：是 = 0，否 = 1 */
    @ExcelProperty( "是否带鸡消毒：是 = 0，否 = 1")
    private String inCoopDisinfection;

    /** 带鸡消毒频率：不消毒 = 1；≥1 周 1 次 = 2；＜1 周 1 次 = 3 */
    @ExcelProperty( "带鸡消毒频率：不消毒 = 1；≥1 周 1 次 = 2；＜1 周 1 次 = 3")
    private String inCoopDisinfectionFrequency;

    /** 空舍消毒方式：熏蒸 = 1，冲洗 = 2，熏蒸 + 冲洗 = 3，冲洗 + 喷洒 = 4：冲洗 + 喷洒 + 熏蒸 = 5；无 = 6 */
    @ExcelProperty( "空舍消毒方式：熏蒸 = 1，冲洗 = 2，熏蒸 + 冲洗 = 3，冲洗 + 喷洒 = 4：冲洗 + 喷洒 + 熏蒸 = 5；无 = 6")
    private String emptyCoopDisinfectionMethod;

    /** 鸡场外环境消毒方式：是 = 0，否 = 1 */
    @ExcelProperty( "鸡场外环境消毒方式：是 = 0，否 = 1")
    private String externalEnvironmentDisinfectionMethod;

    /** 鸡场外环境消毒频率：不消毒 = 1；≥1 周 1 次 = 2；＜1 周 1 次 = 3 */
    @ExcelProperty( "鸡场外环境消毒频率：不消毒 = 1；≥1 周 1 次 = 2；＜1 周 1 次 = 3")
    private String externalEnvironmentDisinfectionFrequency;

    /** 饲料来源：商品料 = 0，自配料 = 1 */
    @ExcelProperty( "饲料来源：商品料 = 0，自配料 = 1")
    private String feedSource;

    /** 是否有送料人员进场：是 = 0，否 = 1 */
    @ExcelProperty( "是否有送料人员进场：是 = 0，否 = 1")
    private String feedDeliveryEntry;

    /** 送料人员进场频率：无 = 1；≥1 周 1 次 = 2；＜1 周 1 次 = 3 */
    @ExcelProperty( "送料人员进场频率：无 = 1；≥1 周 1 次 = 2；＜1 周 1 次 = 3")
    private String feedDeliveryFrequency;

    /** 是否有拉鸡蛋人员进场：是 = 0，否 = 1 */
    @ExcelProperty( "是否有拉鸡蛋人员进场：是 = 0，否 = 1")
    private String eggCollectionEntry;

    /** 拉鸡蛋人员进场频率：无 = 1；≥1 天 1 次 = 2；＜1 天 1 次 = 3 */
    @ExcelProperty( "拉鸡蛋人员进场频率：无 = 1；≥1 天 1 次 = 2；＜1 天 1 次 = 3")
    private String eggCollectionFrequency;

    /** 是否有清粪人员进场：是 = 0，否 = 1 */
    @ExcelProperty( "是否有清粪人员进场：是 = 0，否 = 1")
    private String manureCleaningEntry;

    /** 清粪人员进场频率：无 = 1；≥1 天 1 次 = 2；＜1 天 1 次 = 3 */
    @ExcelProperty( "清粪人员进场频率：无 = 1；≥1 天 1 次 = 2；＜1 天 1 次 = 3")
    private String manureCleaningFrequency;

    /** 是否有拜访人员进场：是 = 0，否 = 1 */
    @ExcelProperty( "是否有拜访人员进场：是 = 0，否 = 1")
    private String visitorEntry;

    /** 拜访人员进场频率：无 = 1；≥1 天 1 次 = 2；＜1 天 1 次 = 3 */
    @ExcelProperty( "拜访人员进场频率：无 = 1；≥1 天 1 次 = 2；＜1 天 1 次 = 3")
    private String visitorFrequency;

    /** 外来人员进场是否消毒：是 = 0，否 = 1 */
    @ExcelProperty( "外来人员进场是否消毒：是 = 0，否 = 1")
    private String externalStaffDisinfection;

    /** 外来车辆进场是否消毒：是 = 0，否 = 1 */
    @ExcelProperty( "外来车辆进场是否消毒：是 = 0，否 = 1")
    private String externalVehicleDisinfection;

    /** 附近养鸡户数：没有 = 1，1 - 5 家 = 2，＞5 家 = 3 */
    @ExcelProperty( "附近养鸡户数：没有 = 1，1 - 5 家 = 2，＞5 家 = 3")
    private String nearbyFarmsNumber;

    /** 附近是否有主干道：有 = 0，无 = 1 */
    @ExcelProperty( "附近是否有主干道：有 = 0，无 = 1")
    private String nearbyHighway;

    /** 是否发生禽流感 */
    @ExcelProperty("是否发生禽流感")
    private String avianInfluenza;

    @TableField(exist = false)
    private int pageSize;
    @TableField(exist = false)
    private int pageNum;


    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("chickenScale", getChickenScale())
                .append("breedType", getBreedType())
                .append("avianVaccination", getAvianVaccination())
                .append("vaccinationStage", getVaccinationStage())
                .append("vaccinationTimes", getVaccinationTimes())
                .append("vaccinationMethod", getVaccinationMethod())
                .append("virusStrain", getVirusStrain())
                .append("staffEntryDisinfection", getStaffEntryDisinfection())
                .append("staffEnterCoopDisinfection", getStaffEnterCoopDisinfection())
                .append("coopStaffNumber", getCoopStaffNumber())
                .append("inCoopDisinfection", getInCoopDisinfection())
                .append("inCoopDisinfectionFrequency", getInCoopDisinfectionFrequency())
                .append("emptyCoopDisinfectionMethod", getEmptyCoopDisinfectionMethod())
                .append("externalEnvironmentDisinfectionMethod", getExternalEnvironmentDisinfectionMethod())
                .append("externalEnvironmentDisinfectionFrequency", getExternalEnvironmentDisinfectionFrequency())
                .append("feedSource", getFeedSource())
                .append("feedDeliveryEntry", getFeedDeliveryEntry())
                .append("feedDeliveryFrequency", getFeedDeliveryFrequency())
                .append("eggCollectionEntry", getEggCollectionEntry())
                .append("eggCollectionFrequency", getEggCollectionFrequency())
                .append("manureCleaningEntry", getManureCleaningEntry())
                .append("manureCleaningFrequency", getManureCleaningFrequency())
                .append("visitorEntry", getVisitorEntry())
                .append("visitorFrequency", getVisitorFrequency())
                .append("externalStaffDisinfection", getExternalStaffDisinfection())
                .append("externalVehicleDisinfection", getExternalVehicleDisinfection())
                .append("nearbyFarmsNumber", getNearbyFarmsNumber())
                .append("nearbyHighway", getNearbyHighway())
                .append("avianInfluenza", getAvianInfluenza())
                .toString();
    }

}
